separate NonEmptyList type and module from Persimmon.fs