On Mon, Mar 23, 2015, at 18:48, Paul Moore wrote: > The type of the return value should > be a concrete type - probably type(p1)? I'd argue it should be the common supertype, so a PurePosixPath if both are posix and one is pure, a Path or PurePath if one is windows and the other is posix.