Added specify! with an interface like extend and arity peeling
WIP: implement IFn via specify!, change all protocol method calls to omit first parameter
apply doesn't work yet
WIP self__ missing