Copyright (c) 2015 by David Bindel, David Eriksson, and contributors. See Contributors for more details.