Init: explores ading separate type signatures (not possible)
Init: explores function declaration order (doesn't matter)