Why do you think that this style is preferable over saying simply `stdenv.lib.licenses.asl20`? A package cannot have more than one license, IMHO, so the with-style approach seems unnecessary.