Set cursors.
Merged factory and type visitor.