custom types working. Circular dependencies not yet.