errors/completeType.cfa:34:1 error: Cannot choose between 2 alternatives for expression
Generated Cast of:
  Applying untyped:
    Name: *?
  ...to:
    Name: x

... to: nothing
... with resolved type:
  void Alternatives are:
Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
      Application of
        Variable Expression: *?: forall
          DT: data type
          function
        ... with parameters
          pointer to instance of type DT (not function type)
        ... returning
          reference to instance of type DT (not function type)

        ... with resolved type:
          pointer to forall
            [unbound]:data type
            function
          ... with parameters
            pointer to instance of type [unbound] (not function type)
          ... returning
            reference to instance of type [unbound] (not function type)

        ... to arguments
        Variable Expression: x: pointer to instance of struct A without body
        ... with resolved type:
          pointer to instance of struct A without body

      ... with resolved type:
        reference to instance of struct A without body
    ... to: nothing
    ... with resolved type:
      void
  (types:
    void
  )
  Environment:([unbound]) -> instance of struct A without body (no widening)


Cost ( 0, 1, 2, 0, 1, -1, 0 ): Generated Cast of:
      Application of
        Variable Expression: *?: forall
          DT: data type
          function
        ... with parameters
          pointer to instance of type DT (not function type)
        ... returning
          reference to instance of type DT (not function type)

        ... with resolved type:
          pointer to forall
            [unbound]:data type
            function
          ... with parameters
            pointer to instance of type [unbound] (not function type)
          ... returning
            reference to instance of type [unbound] (not function type)

        ... to arguments
        Variable Expression: x: pointer to instance of struct B with body
        ... with resolved type:
          pointer to instance of struct B with body

      ... with resolved type:
        reference to instance of struct B with body
    ... to: nothing
    ... with resolved type:
      void
  (types:
    void
  )
  Environment:([unbound]) -> instance of struct B with body (no widening)



errors/completeType.cfa:35:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
  Name: foo
...to:
  Name: v

errors/completeType.cfa:36:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
  Name: baz
...to:
  Name: v

errors/completeType.cfa:37:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
  Name: quux
...to:
  Name: v

errors/completeType.cfa:59:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
  Name: baz
...to:
  Name: y

errors/completeType.cfa:60:1 error: Invalid application of existing declaration(s) in expression Applying untyped:
  Name: quux
...to:
  Name: y

errors/completeType.cfa:72:1 error: No alternatives with satisfiable assertions for Applying untyped:
  Name: baz
...to:
  Name: z

      Unsatisfiable alternative:
Cost ( 0, 1, 0, 0, 1, -5, 0 ): Application of
            Variable Expression: baz: forall
              T: sized data type
              ... with assertions
                ?=?: pointer to function
                ... with parameters
                  reference to instance of type T (not function type)
                  instance of type T (not function type)
                ... returning
                  instance of type T (not function type)

                ?{}: pointer to function
                ... with parameters
                  reference to instance of type T (not function type)
                ... returning nothing

                ?{}: pointer to function
                ... with parameters
                  reference to instance of type T (not function type)
                  instance of type T (not function type)
                ... returning nothing

                ^?{}: pointer to function
                ... with parameters
                  reference to instance of type T (not function type)
                ... returning nothing


              function
            ... with parameters
              pointer to instance of type T (not function type)
            ... returning nothing

            ... with resolved type:
              pointer to forall
                [unbound]:sized data type
                ... with assertions
                  ?=?: pointer to function
                  ... with parameters
                    reference to instance of type [unbound] (not function type)
                    instance of type [unbound] (not function type)
                  ... returning
                    instance of type [unbound] (not function type)

                  ?{}: pointer to function
                  ... with parameters
                    reference to instance of type [unbound] (not function type)
                  ... returning nothing

                  ?{}: pointer to function
                  ... with parameters
                    reference to instance of type [unbound] (not function type)
                    instance of type [unbound] (not function type)
                  ... returning nothing

                  ^?{}: pointer to function
                  ... with parameters
                    reference to instance of type [unbound] (not function type)
                  ... returning nothing


                function
              ... with parameters
                pointer to instance of type [unbound] (not function type)
              ... returning nothing

            ... to arguments
            Variable Expression: z: pointer to instance of type T (not function type)
            ... with resolved type:
              pointer to instance of type T (not function type)
          with 1 pending inference slots

          ... with resolved type:
            void
        (types:
          void
        )
        Environment:([unbound]) -> instance of type T (not function type) (no widening)

      Could not satisfy assertion:
?=?: pointer to function
        ... with parameters
          reference to instance of type [unbound] (not function type)
          instance of type [unbound] (not function type)
        ... returning
          instance of type [unbound] (not function type)

