size -> len, for consistency
Don't use compile-time assertions with sizeof(dynamic length).