SELF_TYPE checks
Added return type for self as SELF_TYPE and fixed case expressions