bigint pure

the only exception is toString as it takes a delegate and this makes
things more tricky