Refactored some classes
Casted interfaces are now ObjectVal
Generate type hints