> Is there anything wrong with the definitions and below
> and why is this not caught in the type system?
And
> ???
on the line you flagged as a bug.