answer question
answer question

> TODO:  This requires a type annotation for the EP, why?<

Because the type inference of Scalac can't figure it out.
Personally I find it helpful to think of type inference
of scalac as a top-down pass followed by a bottom-up
pass. If not enough annotations exist on the outermost
construct (`RType` in this case), then:

- The leaves of the expression must be annotated enough
  to determine their types without outside information,
  and

- The type of every construct must be deduceable from
  the type of its arguments.

julian-klode/bsc-thesis-code