Add concept checking.
Use BCCL to check validity of iterators, etc (instead of static asserts).