IPv4 range blocks are limited to a /16 - i.e. up to 2^16 == 64k nominal customer addresses. This was picked intentionally to reduce the damage potentially caused by an erroneous block, following the attempted application of a /0 block(!). It's a balance between too large and too little, and there are NAT issues with some ISPs, but it's worked well enough.
Following the same logic, given that most(ish) customers are being granted a /64, MW should limit IPv6 blocks to /(128-64-16) = /48s. However, IPv6 range blocks are currently allowed for up to /32s, which allows for some very considerable collateral damage.