Readded diag([k]), inline initilisation and is_* functions