We want to minimize how much code a client binary has to compile so we can run on small devices and so the code remains easily auditable.