Implement features as type aliases

Re-implement `Size`, `Empty`, `Contains<Element>` and `Count<Element>` features as type aliases