Cleanup function pointers
Revert dynamic dispatch
Ternary object merge two types to one common type
Add optional brace block `%b` to pretty print