refactor: introduce isType reducing redundancy (trivial change)
improve wording:

has bad type could be missleading. Eg if you want "a" or "b" "c" often
is considered having the same (good) type: String.
Thus replace it by the wording "does not pass the check function" -
which also indicates where to look at.

I also think that adding the name makes the error easier to read.

Same about ensureDefaultType: It runs the check function, so
checkDefault is much easier to understand
always merge functions "merge" and "check" if type defines them
Merge commit 'daac3c0fa12be12ce0362b3e5fc131946a49d321' into experimental/marc

* commit 'daac3c0fa12be12ce0362b3e5fc131946a49d321': (975 commits)
  follow upstream
  fix
  add upstream changes, put options in order of master
  lib from stdenv
  use upstream solution (deepOverride)
  merge failure
  merge failure
  vimprobable2, surf: fix the settings-schemas problem
  libnotify: major update, no dependency on gtk+ now
  rsyslog: enable TLS support
  Removed Xrender from cairo and add fontconfig to pango on Darwin: this fixes the compilation of graphviz and imagemagick on these platforms
  git: Adding -lgcc_s on darwin causes the build to fail, so we disable it for that platform
  Add rsyslog 7.2.6 and its dependencies
  Implemented an unelegant workaround that allows nodejs to be used on darwin using xcode
  A more complete fix of cyrus-sasl update (broken KDEs).
  gamin: adding a patch against a deadlock
  boost: properly quoting cflags parameters
  texinfo: update to version 5.1
  lzip: build the binary with -O3 and assertions disabled
  lzip: enable documentation build
  ...
Merge commit 'c918dfde4d75f42bf86796af20561ad86f042657' into experimental/marc

* commit 'c918dfde4d75f42bf86796af20561ad86f042657':
  making openjade compile by adding another patch
  follow upstream
  follow upstream
wacom driver updates
without mesa compilation fails with fgl_glxgears.c:66:19: fatal error: GL/gl.h: No such file or directory
Merge commit '451897ef7095055040b0e01f326268fdde9fa990' into experimental/marc

* commit '451897ef7095055040b0e01f326268fdde9fa990': (228 commits)
  texLiveFull: include texinfo in the generated environment
  texinfo-5.1: install tex-related files like 'texinfo.tex'
  gnulib: update to version 0.0-7899-g34f8464 and provide a proper meta section
  python3: update to version 3.3.0
  all-packages.nix: mark python3 'hiPrio' so that it takes precedence when version 2.x and 3.x are installed into the same environment
  Updating the assertion to cpufrequtils: linux pc only.
  LinuxSampler: fix the build by disabling a check for a bug
  fix ino
  fix pythonWrapper for non-gnu ln
  Adding Steam Locomotive, for the fun
  Update bitcoin-qt to 0.8.1
  Add renameutils package.
  haskell-xdot: jailbreak to fix build with recent versions of polyparse
  haskell-HGL: drop obsolete library that doesn't compile anymore with recent GHCs
  libxslt: fix impurity on 'native-stdenv' platforms
  libxslt: revert impurity fix on 'native-stdenv' platforms
  git: fix build on FreeBSD
  libxslt: fix impurity on 'native-stdenv' platforms
  gnumake: disable test suite on FreeBSD
  rsync: fix build an FreeBSD (by disabling ACL support)
  ...
Merge remote-tracking branch 'refs/remotes/gh/experimental/x-updates' into HEAD

* refs/remotes/gh/experimental/x-updates: (103 commits)
  new tg branch experimental/x-updates
  vala: update to 0.19
  libnotify: major update, no dependency on gtk+ now
  xfce4-power-manager: update this forgotten package
  jbig2dec: fix download URI
  xfdesktop: minor update
  mesa: another update; 9.1 released now
  libdrm: update because of mesa-9.1
  webkit: hot-fix the build, use default libpng and perl
  poppler_0_18: fix buildNativeInputs
  mesa: bugfix update
  gtk bindings: update
  gnome3: factor out doCompileSchemas
  librsvg: drop gtk2 dep. by default, add optional gtk3 dep.
  libgsf: update, streamline dependencies, drop obsolete patch
  libcroco: move to gnome-3, minor update
  libcanberra: update, streamline dependencies
  gnome3.libgweather: update
  update evince, seems to work now
  update gsettings-desktop-schemas and make system-wide
  ...
Merge commit 'ea94a55430e674cab376d921124c4e1c35d8125c' into experimental/x-updates

* commit 'ea94a55430e674cab376d921124c4e1c35d8125c': (217 commits)
  texLiveFull: include texinfo in the generated environment
  texinfo-5.1: install tex-related files like 'texinfo.tex'
  gnulib: update to version 0.0-7899-g34f8464 and provide a proper meta section
  python3: update to version 3.3.0
  all-packages.nix: mark python3 'hiPrio' so that it takes precedence when version 2.x and 3.x are installed into the same environment
  Updating the assertion to cpufrequtils: linux pc only.
  LinuxSampler: fix the build by disabling a check for a bug
  fix ino
  fix pythonWrapper for non-gnu ln
  Adding Steam Locomotive, for the fun
  Update bitcoin-qt to 0.8.1
  Add renameutils package.
  haskell-xdot: jailbreak to fix build with recent versions of polyparse
  haskell-HGL: drop obsolete library that doesn't compile anymore with recent GHCs
  libxslt: fix impurity on 'native-stdenv' platforms
  libxslt: revert impurity fix on 'native-stdenv' platforms
  git: fix build on FreeBSD
  libxslt: fix impurity on 'native-stdenv' platforms
  gnumake: disable test suite on FreeBSD
  rsync: fix build an FreeBSD (by disabling ACL support)
  ...
latest git version of gimp
Merge branch 'experimental/gimp-git' into refs/top-bases/experimental/updates

* experimental/gimp-git:
  latest git version of gimp
Merge commit 'refs/top-bases/experimental/updates' into experimental/updates

* commit 'refs/top-bases/experimental/updates':
  latest git version of gimp
Merge branch 'experimental/updates' into refs/top-bases/experimental/marc

* experimental/updates:
  latest git version of gimp
Merge branch 'experimental/gimp-git' into refs/top-bases/experimental/gutenprint

* experimental/gimp-git:
  latest git version of gimp
Merge commit 'refs/top-bases/experimental/gutenprint' into experimental/gutenprint

* commit 'refs/top-bases/experimental/gutenprint':
  latest git version of gimp
Merge branch 'experimental/gutenprint' into refs/top-bases/experimental/marc

* experimental/gutenprint:
Merge remote-tracking branch 'refs/remotes/gh/experimental/x-updates' into HEAD

* refs/remotes/gh/experimental/x-updates: (140 commits)
  dropbox: add x86 support
  nixUnstable: Bump
  gimp: update from 2.8.2 to 2.8.4
  iproute2: Update to 3.8.0
  release-lib.nix: Make the set of supported platforms an argument
  Fix comment
  Add an "unstable" aggregate to replace the "unstable" view
  eval-release.nix: Handle the new job structure
  Only return Hydra jobs for supported platforms
  Remove broken ‘removeList’ function
  Make Nixpkgs jobs unique
  releaseTools: Add ‘aggregate’ function
  perl-GD: update to version 2.49 in a blind attempt to fix test suite failures on x86-linux
  wacom driver updates required for intuos 5 wacom tablet.\ Note I had to disable some recognized "pens" by using xinput disable. So maybe 2 drivers are active? However tilt/preasure works nicely inside gimp, inkscape, mypaint
  new tg branch experimental/x-updates
  Fix references to ifconfig and route
  Update/fix SGT puzzles
  Fix K3D gtlglext handling
  Update Linux 3.9-rc to rc3
  Fix ZBar build by passing it gtk2
  ...
Merge commit 'refs/top-bases/experimental/marc' into experimental/marc

* commit 'refs/top-bases/experimental/marc':
  latest git version of gimp
Merge commit '6e71c0b95076715db1e8ab9fec4baa0be7660e6f' into experimental/x-updates

* commit '6e71c0b95076715db1e8ab9fec4baa0be7660e6f': (38 commits)
  latest git version of gimp
  dropbox: add x86 support
  nixUnstable: Bump
  gimp: update from 2.8.2 to 2.8.4
  iproute2: Update to 3.8.0
  release-lib.nix: Make the set of supported platforms an argument
  Fix comment
  Add an "unstable" aggregate to replace the "unstable" view
  eval-release.nix: Handle the new job structure
  Only return Hydra jobs for supported platforms
  Remove broken ‘removeList’ function
  Make Nixpkgs jobs unique
  releaseTools: Add ‘aggregate’ function
  perl-GD: update to version 2.49 in a blind attempt to fix test suite failures on x86-linux
  wacom driver updates required for intuos 5 wacom tablet.\ Note I had to disable some recognized "pens" by using xinput disable. So maybe 2 drivers are active? However tilt/preasure works nicely inside gimp, inkscape, mypaint
  Fix references to ifconfig and route
  Update/fix SGT puzzles
  Fix K3D gtlglext handling
  Update Linux 3.9-rc to rc3
  Fix ZBar build by passing it gtk2
  ...