this function is only used on real types, why change the include pattern?