nameExpr is f
decl is f: forall
    T: type
      with assertions
        ?=?: pointer to function
            with parameters
              pointer to instance of type T (not function type) 
              instance of type T (not function type) 
            returning 
              instance of type T (not function type) 


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

  returning 
    nothing 

newExpr is Variable Expression: f: forall
      T: type
        with assertions
          ?=?: pointer to function
              with parameters
                pointer to instance of type T (not function type) 
                instance of type T (not function type) 
              returning 
                instance of type T (not function type) 


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

    returning 
      nothing 


alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: f: forall
      T: type
        with assertions
          ?=?: pointer to function
              with parameters
                pointer to instance of type T (not function type) 
                instance of type T (not function type) 
              returning 
                instance of type T (not function type) 


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

    returning 
      nothing 

(types:
    pointer to forall
          _0_T: type
            with assertions
              ?=?: pointer to function
                  with parameters
                    pointer to instance of type _0_T (not function type) 
                    instance of type _0_T (not function type) 
                  returning 
                    instance of type _0_T (not function type) 


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

        returning 
          nothing 

)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
nameExpr is g
decl is g: forall
    U: type
      with assertions
        ?=?: pointer to function
            with parameters
              pointer to instance of type U (not function type) 
              instance of type U (not function type) 
            returning 
              instance of type U (not function type) 


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

newExpr is Variable Expression: g: forall
      U: type
        with assertions
          ?=?: pointer to function
              with parameters
                pointer to instance of type U (not function type) 
                instance of type U (not function type) 
              returning 
                instance of type U (not function type) 


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


alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: g: forall
      U: type
        with assertions
          ?=?: pointer to function
              with parameters
                pointer to instance of type U (not function type) 
                instance of type U (not function type) 
              returning 
                instance of type U (not function type) 


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

(types:
    pointer to forall
          _1_U: type
            with assertions
              ?=?: pointer to function
                  with parameters
                    pointer to instance of type _1_U (not function type) 
                    instance of type _1_U (not function type) 
                  returning 
                    instance of type _1_U (not function type) 


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

)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
findSubExprs
Cost ( 0, 0, 0 ): Variable Expression: g: forall
      U: type
        with assertions
          ?=?: pointer to function
              with parameters
                pointer to instance of type U (not function type) 
                instance of type U (not function type) 
              returning 
                instance of type U (not function type) 


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

(types:
    pointer to forall
          _1_U: type
            with assertions
              ?=?: pointer to function
                  with parameters
                    pointer to instance of type _1_U (not function type) 
                    instance of type _1_U (not function type) 
                  returning 
                    instance of type _1_U (not function type) 


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

)
Environment: 

working on alternative: 
        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
              T: type
                with assertions
                  ?=?: pointer to function
                      with parameters
                        pointer to instance of type T (not function type) 
                        instance of type T (not function type) 
                      returning 
                        instance of type T (not function type) 


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

            returning 
              nothing 

(types:
            pointer to forall
                  _0_T: type
                    with assertions
                      ?=?: pointer to function
                          with parameters
                            pointer to instance of type _0_T (not function type) 
                            instance of type _0_T (not function type) 
                          returning 
                            instance of type _0_T (not function type) 


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

                returning 
                  nothing 

)
        Environment: 
formal type is pointer to function
  with parameters
    instance of type _0_T (not function type) 
    pointer to instance of type _0_T (not function type) 
  returning 
    nothing 

actual type is pointer to forall
    _1_U: type
      with assertions
        ?=?: pointer to function
            with parameters
              pointer to instance of type _1_U (not function type) 
              instance of type _1_U (not function type) 
            returning 
              instance of type _1_U (not function type) 


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

Error: No reasonable alternatives for expression Applying untyped: 
    Name: f
...to: 
    Name: g

