problem solved - hasAlibi badly written not returning, IO defaulting to input (weirdly)