Add correct covnersion constructor for conditional
Update match to support move-only types