It's common to use layers directly in view alignment or distribution, particularly for layer types that don't have an equivalent view, such as CAGradientLayer or CAShapeLayer. We should make the alignment and distribution abstractions support layers in addition to views.