scopeReturnType :: SemanticUnit -> Type
scopeReturnType su = rst
    where
        kd = kind su
        rst = case kd of
                Method (FUNC mds _ _ _ lt) -> lt
                _ -> scopeReturnType (inheritFrom su)
scopeReturnType :: SemanticUnit -> Type
scopeReturnType su = rst
    where
        kd = kind su
        rst = case kd of
                Method (FUNC mds _ _ _ lt) -> lt
                _ -> scopeReturnType (inheritFrom su)
scopeReturnType su = rst
    where
        kd = kind su
        rst = case kd of
                Method (FUNC mds _ _ _ lt) -> lt
                _ -> scopeReturnType (inheritFrom su)