@traversable/schema
    Preparing search index...

    Type Alias Fixpoint

    Fixpoint:
        | Z.Nullary
        | Z.Enum<Z.Fixpoint>
        | Z.Catch<Z.Fixpoint>
        | Z.Prefault<Z.Fixpoint>
        | Z.Optional<Z.Fixpoint>
        | Z.Nullable<Z.Fixpoint>
        | Z.Array<Z.Fixpoint>
        | Z.Set<Z.Fixpoint>
        | Z.Map<Z.Fixpoint>
        | Z.Readonly<Z.Fixpoint>
        | Z.Object<Z.Fixpoint>
        | Z.Record<Z.Fixpoint>
        | Z.Tuple<Z.Fixpoint>
        | Z.Lazy<Z.Fixpoint>
        | Z.Intersection<Z.Fixpoint>
        | Z.Union<Z.Fixpoint>
        | Z.Default<Z.Fixpoint>
        | Z.Success<Z.Fixpoint>
        | Z.NonOptional<Z.Fixpoint>
        | Z.Pipe<Z.Fixpoint>
        | Z.Transform<Z.Fixpoint>
        | Z.Promise<Z.Fixpoint>

    This (I believe) is our Functor's greatest fix-point. Similar to Z.Hole, except rather than taking a type parameter, it "fixes" its value to itself.

    Interestingly, in TypeScript (and I would imagine most languages), there's no obvious way to implement Z.Fixpoint in terms of Z.Hole. If you're not sure what I mean, it might be a useful exercise to try, since it will give you some intuition for why adding constraints prematurely might cause us probems down the line.