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
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 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/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/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 commit 'refs/top-bases/experimental/marc' into experimental/marc

* commit 'refs/top-bases/experimental/marc':
  latest git version of gimp
new tg branch experimental/ati
patches taken from experimental/x-updates, putting the into its own branch
New TopGit dependency: experimental/ati
Merge branch 'experimental/ati' into refs/top-bases/experimental/marc

* experimental/ati:
  patches taken from experimental/x-updates, putting the into its own branch
  new tg branch experimental/ati

Conflicts:
	pkgs/os-specific/linux/ati-drivers/default.nix
Merge commit 'refs/top-bases/experimental/marc' into experimental/marc

* commit 'refs/top-bases/experimental/marc':
  patches taken from experimental/x-updates, putting the into its own branch
  new tg branch experimental/ati
Merge remote-tracking branch 'refs/remotes/gh/top-bases/experimental/marc' into refs/top-bases/experimental/marc

* refs/remotes/gh/top-bases/experimental/marc: (66 commits)
  small refactoring, make zart compile again
  cleanup comments and spaces
  indent ufraw, share common code for gmic
  Python3: fix the download URL
  plugin updates
  wpa_supplicant: Making a remote patch local.
  Adding back the 1.5 expression of mupen64plus
  Updating mupen64plus, and adding a GUI for it.
  libvirt: Update to 1.0.3
  pitz: new package
  xbmc: bump to 12.1
  Add a latest linuxPackages for living on the edge
  Add right_aws gem
  Add the nix-build `result' symlink and cpan files to gitignore
  Update rubygems
  mini-httpd: update to version 1.4
  set platforms and correct license to synergy
  httpd: Update to 2.2.24
  linux: Update to 3.2.42
  Python 3.3 upgrade to 3.3.1rc1 to fix an important bug for Nix
  ...
Merge remote-tracking branch 'refs/remotes/gh/top-bases/experimental/updates' into refs/top-bases/experimental/updates

* refs/remotes/gh/top-bases/experimental/updates: (66 commits)
  small refactoring, make zart compile again
  cleanup comments and spaces
  indent ufraw, share common code for gmic
  Python3: fix the download URL
  plugin updates
  wpa_supplicant: Making a remote patch local.
  Adding back the 1.5 expression of mupen64plus
  Updating mupen64plus, and adding a GUI for it.
  libvirt: Update to 1.0.3
  pitz: new package
  xbmc: bump to 12.1
  Add a latest linuxPackages for living on the edge
  Add right_aws gem
  Add the nix-build `result' symlink and cpan files to gitignore
  Update rubygems
  mini-httpd: update to version 1.4
  set platforms and correct license to synergy
  httpd: Update to 2.2.24
  linux: Update to 3.2.42
  Python 3.3 upgrade to 3.3.1rc1 to fix an important bug for Nix
  ...