mhm
mhm
much closer!
straight line code!
sigh
added subtyping