The problem with encoding stuff in type systems is where you stop.