[1] http://wiki.debian.org/SummerOfCode2011/DeclarativeDiversions