A type-based analysis of causality loops in hybrid systems modelers. (November 2017)