pub fn faced<A, P: Named>( items: &[A], pieces_of: fn(&A) -> &'static [Piece<P>], first: &str, second: &str, third: &str, fourth: &str, ) -> Vec<String>