An extension of the ABS toolchain with a mechanism for type checking SPLs