This way of putting the annotation onto the function type doesn't seem to be recoverable via a typetag, and may in fact simply be backwards. Found a plan B though..
More experiments with different Annotated trees, with a new kind of failure, and lots of outcommented intermediary code
Removed most of the outcommented code